using System;
using System.Collections;

namespace Com.CMS263.PO
{
	#region SiteInfo

	/// <summary>
	/// SiteInfo object for NHibernate mapped table 'SiteInfo'.
	/// </summary>
	public class SiteInfo
	{
		#region Member Variables
		
		protected int _id;
		protected string _siteUrl;
		protected string _siteName;
		protected string _icp;
		protected string _description;
		protected string _keyword;
		protected string _copyRight;
		protected string _link;
		protected int _accountNum;

		#endregion

		#region Constructors

		public SiteInfo() { }

		public SiteInfo( string siteUrl, string siteName, string icp, string description, string keyword, string copyRight, string link, int accountNum )
		{
			this._siteUrl = siteUrl;
			this._siteName = siteName;
			this._icp = icp;
			this._description = description;
			this._keyword = keyword;
			this._copyRight = copyRight;
			this._link = link;
			this._accountNum = accountNum;
		}

		#endregion

		#region Public Properties

		public virtual int Id
		{
			get {return _id;}
			set {_id = value;}
		}

		public  virtual string SiteUrl
		{
			get { return _siteUrl; }
			set
			{
				if ( value != null && value.Length > 500)
					throw new ArgumentOutOfRangeException("Invalid value for SiteUrl", value, value.ToString());
				_siteUrl = value;
			}
		}

		public  virtual string SiteName
		{
			get { return _siteName; }
			set
			{
				if ( value != null && value.Length > 500)
					throw new ArgumentOutOfRangeException("Invalid value for SiteName", value, value.ToString());
				_siteName = value;
			}
		}

		public  virtual string Icp
		{
			get { return _icp; }
			set
			{
				if ( value != null && value.Length > 500)
					throw new ArgumentOutOfRangeException("Invalid value for Icp", value, value.ToString());
				_icp = value;
			}
		}

		public  virtual string Description
		{
			get { return _description; }
			set
			{
				if ( value != null && value.Length > 500)
					throw new ArgumentOutOfRangeException("Invalid value for Description", value, value.ToString());
				_description = value;
			}
		}

		public  virtual string Keyword
		{
			get { return _keyword; }
			set
			{
				if ( value != null && value.Length > 500)
					throw new ArgumentOutOfRangeException("Invalid value for Keyword", value, value.ToString());
				_keyword = value;
			}
		}

		public  virtual string CopyRight
		{
			get { return _copyRight; }
			set
			{
				if ( value != null && value.Length > 4000)
					throw new ArgumentOutOfRangeException("Invalid value for CopyRight", value, value.ToString());
				_copyRight = value;
			}
		}

		public  virtual string Link
		{
			get { return _link; }
			set
			{
				if ( value != null && value.Length > 4000)
					throw new ArgumentOutOfRangeException("Invalid value for Link", value, value.ToString());
				_link = value;
			}
		}

		public  virtual int AccountNum
		{
			get { return _accountNum; }
			set { _accountNum = value; }
		}

		

		#endregion
	}
	#endregion
}